/*
 * ErroresDBDAO.java
 *
 * Created on 20 de noviembre de 2006, 10:31 AM
 *
 * To change this template, choose Tools | Options and locate the template under
 * the Source Creation and Management node. Right-click the template and choose
 * Open. You can then make changes to the template in the Source Editor.
 */

package com.src.computec.gestion.carguegestion.dao;

import com.src.computec.gestion.carguegestion.dto.ArchivoDto;
import com.src.computec.gestion.carguegestion.utilidades.ConstantesGenerales;
import com.src.computec.radar.base.dao.GenericDAO;
import com.src.computec.radar.base.dao.exception.DAOException;
import static com.src.computec.gestion.carguegestion.utilidades.ConstantesGenerales.SCHEMA;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.util.Date;


/**
 *
 * @author jlperea
 */
public class ErroresDBDAO extends GenericDAO
{
    
    /** Creates a new instance of ErroresDBDAO */
    public ErroresDBDAO() {
    }
    
    public void insertarAlerta(ArchivoDto dto) throws DAOException
    {
        Connection con = null;
        PreparedStatement statementInsAlerta = null;
        
        try 
        {
            con = getConnectionDB2();
            statementInsAlerta = con.prepareStatement("INSERT INTO "+ SCHEMA +".MENSAJE_ALERTA (CODIGO_TIPO_ARCHIVO, CODIGO_RESPONSABLE, DESCRIPCION_MENSAJE_ALERTA, " +
                                                      "ORIGEN_MENSAJE_ALERTA, PATH_MENSAJE_ALERTA, FECHA_REGISTRO, ESTADO) VALUES (?,?,?,?,?,?,?)");             
             
            
           int indice1 = 0;      
            
            statementInsAlerta.setObject(++indice1, ConstantesGenerales.CODIGO_ES_ARCHIVO);            
            statementInsAlerta.setObject(++indice1, dto.getIdUser());            
            statementInsAlerta.setObject(++indice1, ConstantesGenerales.DESC_ERRORES + " " + dto.getId().toString());            
            statementInsAlerta.setObject(++indice1, ConstantesGenerales.ORIGEN);            
            statementInsAlerta.setObject(++indice1, dto.getPathErrores());            
            statementInsAlerta.setTimestamp(++indice1, new Timestamp( (new Date()).getTime() ) );            
            statementInsAlerta.setObject(++indice1, ConstantesGenerales.CODIGO_ACTIVO);            
            statementInsAlerta.executeUpdate();           
        }
        catch (SQLException e) 
        {
            throw new DAOException("ErroresDBDAO:insertarAlerta: " +e.toString(), e);
        } 
        finally 
        {
            closeConnection(con, statementInsAlerta);
        }
    }    
    
    public void insertarLog(ArchivoDto dto) throws DAOException
    {
        Connection con = null;
        PreparedStatement statementInsLog = null;
        
        try 
        {
            con = getConnectionDB2();
            statementInsLog = con.prepareStatement("INSERT INTO "+ SCHEMA +".CARGUE_GESTION_LOG (CODIGO_RESPONSABLE, CODIGO_PROVEEDOR, " +
                                                   "PATH_ARCHIVO_LOG, FECHA_CARGUE, ESTADO, TOTAL_REGISTROS, NUMERO_ERRORES_REGISTROS) VALUES (?,?,?,?,?,?,?)");
                       
            int indice1 = 0;  
            
            statementInsLog.setObject(++indice1, dto.getIdUser()); 
            statementInsLog.setObject(++indice1, dto.getCodigoProveedor());   
            statementInsLog.setObject(++indice1, dto.getPathErrores());
            statementInsLog.setTimestamp(++indice1, new Timestamp( (new Date()).getTime() ) );            
            statementInsLog.setObject(++indice1, ConstantesGenerales.CODIGO_ACTIVO);   
            statementInsLog.setObject(++indice1, String.valueOf(dto.getRegistrosActuales()) );  
            statementInsLog.setObject(++indice1, String.valueOf(dto.getNumeroErrores()) );  
            statementInsLog.executeUpdate();
        }
        catch (SQLException e) 
        {
            throw new DAOException("ErroresDBDAO:insertarLog: " +e.toString(), e);
        } 
        finally 
        {
            closeConnection(con, statementInsLog);
        }
    }  
}
